File 'SERVER DRIVE:PROJECTS:TEST:LBB PROJECT WITH AMTCX:SOURCES:ALPHADB.K'; Line 89 # K call: MESSAGE has no _COUNT!
I use the following code to extract the name of a particular array and make CurrentAlphaIndex refer to that particular array:
self.CorrectAlphaArray := self.AlphaArray; self.CurrentAlphaIndex := (self.CorrectAlphaArray @ self.CurrentRec @ 3);
This is the line it stops working on:
while (loopIndex <= #(self.CurrentAlphaIndex @ LineNum @ 2)) loop
What gives?
A Because of the way the parser works (it works from right to left, instead of
left to right), when you have several @ characters in the same statement, you
have to use parentheses to specify how the expression should be parsed.
In other words, the parser is reading:
self.CurrentAlphaIndex @ LineNum @ 2
as:
self.CurrentAlphaIndex := (self.CorrectAlphaArray @ (self.CurrentRec @ 3));
However, what you mean is:
self.CurrentAlphaIndex := ((self.CorrectAlphaArray @ self.CurrentRec) @ 3);
This is also true for the other line:
while (loopIndex <= #(self.CurrentAlphaIndex @ LineNum @ 2)) loop
The solution is to use parentheses to specify what you want.